#include <stdio.h>
#include "stdlib.h"
#include "string.h"
void change(char *str);

int main() {
    //数值型一维数组遍历
//    int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//    int *p;
//    p = a;
//    //第一种遍历
//    for (int i = 0; i < 10; i++) {
//        printf("a[%d]=%2d\t", i, *(p + i));
//    }
//    printf("\n");
//    //第二种遍历
//    for (p=&a[9]; p >= a; p--) {
//        printf("%d\t", *p);
//    }
//    printf("\n");
//    printf("%d",*p);
//    //字符型数组操作
//    char arr[100];
//    gets(arr);
//    puts(arr);
//    change(arr);
//    puts(arr);
    //使用堆
    int size;
    scanf("%d",&size);
    char *p,a;
    p=(char *) malloc(size);//将分配的指针类型强转为字符指针类型
    scanf("%c",&a);
    gets(p);
    puts(p);
    strcpy(p,"hjx");
    puts(p);
    free(p);//释放申请的空间时，必须是最初malloc函数    返回给我们的地址
    return 0;
}

void change(char *str) {
    *str = 'H';
    *(str + 1) = 'J';
    *(str + 2) = 'X';
}
